Skip to content

ci: fail when the architecture validator drifts from core - #97

Merged
eXeLearningProject merged 2 commits into
mainfrom
ci/architecture-validator-drift-check
Aug 6, 2026
Merged

ci: fail when the architecture validator drifts from core#97
eXeLearningProject merged 2 commits into
mainfrom
ci/architecture-validator-drift-check

Conversation

@erseco

@erseco erseco commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

ci: fail when the architecture validator drifts from core

The validator here is a verbatim copy of the canonical file in
exelearning/exelearning. Until now nothing enforced that: the copies stayed
identical only because whoever changed one remembered to re-copy the rest.

Twice during the recent review rounds that memory was the only safeguard,
and once a sync commit was lost without anyone noticing for hours.

The step fetches the canonical file from core's default branch and diffs it
against this copy. A drift fails the job and prints the diff, so the report
says what changed rather than just that something did.

It needs no dependency and no setup: curl and diff are on the runner.

Verified locally: the step passes against the current copy, and fails with a readable diff when a line is appended to it.

+// drift injected by a local edit
  would FAIL — correct

The validator here is a verbatim copy of the canonical file in
exelearning/exelearning. Until now nothing enforced that: the copies stayed
identical only because whoever changed one remembered to re-copy the rest.

Twice during the recent review rounds that memory was the only safeguard,
and once a sync commit was lost without anyone noticing for hours.

The step fetches the canonical file from core's default branch and diffs it
against this copy. A drift fails the job and prints the diff, so the report
says what changed rather than just that something did.

It needs no dependency and no setup: curl and diff are on the runner.
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Preview this PR in the Nextcloud Playground

Open this PR in the Nextcloud Playground

A fresh Nextcloud boots in your browser with this branch's exelearning app installed and enabled (log in as admin / admin). Two sample .elpx are seeded under exelearning-samples/ in Files — click one to open the viewer.

eXeLearning editor: v4.0.2 (overlaid at boot from the upstream release).

The step was inserted ahead of `actions/checkout`, so the file it diffs
did not exist yet and the job failed on its own first run.

The check itself was right — the copy is byte-identical to core. What
failed was where I put the step. The sibling repositories place it after
their checkout already.
@eXeLearningProject
eXeLearningProject merged commit fb63214 into main Aug 6, 2026
15 checks passed
@eXeLearningProject
eXeLearningProject deleted the ci/architecture-validator-drift-check branch August 6, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants